package com.imooc.product.dataobject;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.imooc.product.enums.ProductStatusEnum;
import com.imooc.product.utils.EnumUtil;
import lombok.Data;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Entity;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Data
@DynamicUpdate
@DynamicInsert
/**
 * 商品信息
 */
public class ProductInfo implements Serializable {

    private static final long serialVersionUID = 6399186181668983148L;
    @Id
    private String productId;
    /**
     * 商品名字
     */
    private String productName;

    /**
     * 商品价格
     */
    private BigDecimal productPrice;

    /**
     * 商品库存
     */
    private Integer productStock;

    /**
     * 商品描述
     */
    private String productDescription;
    /**
     * 商品图标
     */
    private String productIcon;
    /**
     * 商品状态
     */
    private Integer productStatus= ProductStatusEnum.UP.getCode();
    /**
     * 商品类目编号
     */
    private Integer categoryType;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;

    @JsonIgnore
    public ProductStatusEnum getProductStatusEnum() {
        return EnumUtil.getByCode(productStatus, ProductStatusEnum.class);
    }
}
